<html>
    <head>
        <title>高级主题</title>
    </head>
    <body>
        <script>
             /*
                        七、高级主题

                               1、工作单元级缓存  Cache Of Work Unit
                               
                                      分布式缓存服务提供了一个有趣的特性。假设你已经更新了数据库中一本书的价格，然后将新的价格设置到缓存中，这样你就可以使用缓存的值了。

                                      如果设置缓存后出现异常，你"回滚了更新书籍价格的事务"怎么办？  在这种情况下，缓存值将不正确。

                                      IDistributedCache<...>方法获取一个可选参数，名为 considerUow,默认情况下为false. 
                                      如果你将其设置为true,则你为缓存所做的更改是加上并未应用于真正的缓存存储，而是与当前工作单元相关联。
                                      你将获得你在同一工作单元中设置的值，但仅当当前工作单元完成时才应用更改。



                               2、IDistributedCacheSerializer 分布式缓存项序列化器

                                      IDistributedCacheSerializer服务用于序列化和反序列化缓存项。

                                      默认实现是Utf8JsonDistributedCacheSerializer类，它使用IJsonSerializer服务将对象转换为JSON，反之亦然。
                                      
                                      然后它使用UTF8编码将JSON字符串转换为分布式缓存接受的字节数组。

                                      如果你想实现自己的序列化逻辑，你可以将此服务替换为你自己的实现。


                              3、IDistributedCacheKeyNormalizer 分布式缓存键规范化器

                                      IDistributedCacheKeyNormalizer默认由DistributedCacheKeyNormalizer类实现，

                                      它将缓存名称、应用程序缓存前缀和当前租户ID添加到缓存密钥中，如果需要更高级的密钥规范化，可以将此服务替换为自己的实现。
                    */
        </script>
    </body>
</html>